﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using TCC_Hotel.Serviços.BDServices;
using TCC_Hotel.Entidades;

namespace TCC_Hotel.Apresentacao.Empresas
{
    public partial class DetalharEmpresa : System.Web.UI.Page
    {
        
        /// <summary>
        /// carregamento da página 
        /// </summary>
        protected void Page_Load(object sender, EventArgs e)
        {
            //Recupera o usuario corrente
            string usuario = Request.ServerVariables["AUTH_USER"].ToString();

            LoginService servico_Login = new LoginService();
            //Verifica permissao ao acesso da página
            if (!servico_Login.RecuperarPermissaoCache(usuario).Listar_Empresas)
            {
                //Redireciona para a pagina inicial
                Response.Redirect("~/");
            }

            //Verifica permissao ao acesso da página
            if (!servico_Login.RecuperarPermissaoCache(usuario).Cadastrar_Empresas)
            {
                //Redireciona para a pagina inicial
                btnEditar.Visible = false;
            }

            if (!IsPostBack)
            {
                if (Request.Params["cnpj"] == null)
                {
                    //Redireciona para a pagina inicial
                    Response.Redirect("~/");
                }

                //Recupera o parametro da URL
                string CNPJ = Request.Params["cnpj"];

                EmpresaService servico = new EmpresaService();

                //chama o serviço que busca no banco de dados a empresa correspondente
                Empresa empresa = servico.RecuperarDetalhesEmpresa(CNPJ);

                //preenche os textbox coma informação correta
                if (empresa != null)
                {
                    txtNomeEmpresa.Text = empresa.Nome;
                    txtCNPJ.Text = empresa.CNPJ;
                    txtResponsavel.Text = empresa.NomeResponsavel;
                    ckbFaturamento.Checked = empresa.AutorizadoFatura;
                    txtTelefone1.Text = empresa.Contato.Telefone[0];
                    txtTelefone2.Text = empresa.Contato.Telefone[1];
                    txtCelular1.Text = empresa.Contato.Celular[0];
                    txtCelular2.Text = empresa.Contato.Celular[1];
                    txtEmail.Text = empresa.Contato.Email;
                    txtLogradouro.Text = empresa.Endereco.Logradouro;
                    txtBairro.Text = empresa.Endereco.Bairro;
                    txtCEP.Text = empresa.Endereco.CEP;
                    txtNumero.Text = Convert.ToString(empresa.Endereco.Numero);
                    txtCidade.Text = empresa.Endereco.Cidade;
                    txtEstado.Text = empresa.Endereco.Estado.nome;
                    txtComplemento.Text = empresa.Endereco.Complemento;
                    

                  }
            }
        }

        /// <summary>
        /// Evento de click do botao voltar 
        /// </summary>
        protected void btnVoltar_Click(object sender, EventArgs e)
        {
             //Redireciona para a pagina anterior
            Response.Redirect("~/Apresentacao/Empresas/ListarEmpresas.aspx");
           
        }

        /// <summary>
        /// Evento de click do botao editar 
        /// </summary>
        protected void btnEditar_Click(object sender, EventArgs e)
        {
            //Redireciona para a pagina de editar correspondente com o CNPJ como parametro
            Response.Redirect("~/Apresentacao/Empresas/EditarEmpresa.aspx?cnpj=" + Request.Params["cnpj"]);

        }
    }
}